/*
 * $Id: While.java 20 2008-07-25 22:31:07Z od $
 * 
 * This software is provided 'as-is', without any express or implied
 * warranty. In no event will the authors be held liable for any damages
 * arising from the use of this software.
 * 
 * Permission is granted to anyone to use this software for any purpose,
 * including commercial applications, and to alter it and redistribute it
 * freely, subject to the following restrictions:
 * 
 *  1. The origin of this software must not be misrepresented; you must not
 *     claim that you wrote the original software. If you use this software
 *     in a product, an acknowledgment in the product documentation would be
 *     appreciated but is not required.
 * 
 *  2. Altered source versions must be plainly marked as such, and must not be
 *     misrepresented as being the original software.
 * 
 *  3. This notice may not be removed or altered from any source
 *     distribution.
 */
package oms3.control;

import oms3.ComponentException;
import oms3.annotations.Execute;

/**
 *  While Component.
 * 
 * @author od
 * @version $Id: While.java 20 2008-07-25 22:31:07Z od $ 
 */
public class Iteration extends Conditional {

    @Override
    @Execute 
    public void execute() throws ComponentException {
        check();
        while (cond.alive) {
           preExec();
           internalExec();
           postExec();  //TODO remove this later.
        }
    }

    protected void postExec() {
    }

    protected void preExec() {
    }


}
